% Auteur Cedrick Copol
% version du 16 juin 2010
% eleve de M1 Mathematiques a l'universite des Antilles et de la Guyane (Guadeloupe)
% Ce .sty a ete cree pour les pages de garde de M1 (T.E.R.) et M2 (memoire).
%
%                      Remarques
% 1)  Le resultat attendu ne sera obtenu que si on met en option a4paper

% 2)  Quelques extension necessaire
%	* xcolor
%	* graphicx
%	* pstricks
%	* pst-all
%	* pst-grad
%	* ifpdf

% 3)  Les commandes a completer : elles ont toutes un nom suffisament explicite

%	* \couriel{votreadress@trucmuche.chose}
%	* \author{Pr\'enom NOM}
%	* \annee{2008-2009}
%	* \ProfDeTer{Mme, Mlle, M. Prof encadrant}
%	* \title{ }

% 4)    Déclaration des options 
%        \usepackage[ter]{PageDeGarde} si c'est un T.E.R.
%        \usepackage[memoire]{PageDeGarde} si c'est un Memoire



\ProvidesPackage{pagedegardeUAG}[2010/11/30 page de garde de l'Universit\'e des Antilles Guyane campus de Fouillole, Guadeloupe]
\RequirePackage{color}
\RequirePackage{graphicx}
%\RequirePackage{pstricks}
%\RequirePackage{ifpdf}
%\RequirePackage{pst-grad}
\RequirePackage{ifthen}

% astuces lmdern pour avoir les petites capites grasses en utilisant lmodern
%\rmfamily
%\DeclareFontShape{T1}{lmr}{b}{sc}{<->ssub*cmr/bx/sc}{}
%\DeclareFontShape{T1}{lmr}{bx}{sc}{<->ssub*cmr/bx/sc}{}
% finastuce


%################################################################
%               Les commandes utiles				#
%################################################################
\newcommand{\taille}[2]{\fontfamily{phv}\fontseries{b}\fontsize{#1cm}{#2cm}\selectfont}
%\def\hpos{20}%15
\def\hpos{-80}
\def\vpos{30}%
\def\entetehpos{-49}
\def\entetevpos{540}
\def\CadreBleuvpos{-185}%-30
%defaut pour article \hpos{36}\vpos{30}\entetehpos{-49}\entetevpos{540}\CadreBleuhpos{445}\CadreBleuvpos{-185}

%################################################################
%                 Commandes utilisateurs			#
%################################################################

\makeatletter
% le signe @ ne peux etre utilise qu'entre \makeatletter et \makeatother
% L'astuce est d'avoir une commande initialisee au vide et qui sera completer si elle est appelee
% \@couriel me permet d'utiliser le meme nom que la commande \couriel qui sera appele dans le .tex.
% \@couriel contiendra l'adresse mail
%
\newcommand{\@annee}{}
\newcommand{\annee}[1]{\renewcommand{\@annee}{\textbf{#1}}}
%
\newcommand{\@Tencadrant}{Encadrant(s)}
% Je souhaite faire en sorte que je puisse entrer plusieurs encadrants.
\newcommand{\@Encadrant}{}
%\newcommand{\Encadrant}[1]{\renewcommand{\@Encadrant}{\textbf{{\large #1}}}}
%


% entree \author{Prenom}{Nom}{Fonction}
\renewcommand{\author}[3]{%
  \newcommand{\Autp}{\textbf{\large #1}}%
  \newcommand{\Autn}{\textbf{\large\textsc{#2}}}%
  \newcommand{\Autq}{#3}}

\let\titleORIG\title % Je sauvegarde la commande \title sous le nom \titleORIG
% Je modifie \title en utilisant la version d'orignie \titleORIG
\newcommand{\TITRE}{}
\renewcommand{\title}[1]{%
                     \titleORIG{{\Huge \bf #1}}%
} %titre en gros et en gras

\makeatother

%%%%%%%%%%%%%%%%%%%%%  ENCADRANTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcounter{nenc}
\setcounter{nenc}{0}

%% compteur temp
\newcounter{y}
\setcounter{y}{1}%


\newcommand{\Tencadrant}{Encadrant}
% Je souhaite faire en sorte que je puisse entrer plusieurs encadrants.


\newcommand{\Lenc}[1]{%
~~~{\csname ENCp#1\endcsname} & {\csname ENCn#1\endcsname} & \testLbox{{\csname ENCq#1\endcsname}} \\%
}


\newcommand{\newEnc}[4]{%
\expandafter\def\csname ENCp#1\endcsname{\textbf{{\large #2}}}%
\expandafter\def\csname ENCn#1\endcsname{\textbf{{\large\textsc{#3}}}}%
\expandafter\def\csname ENCq#1\endcsname{#4}%
}

%Prenom Nom Qualite d'un examinateur
\newcommand{\Encadrant}[3]{%
\stepcounter{nenc}%
\newEnc{\roman{nenc}}{#1}{#2}{#3}%
\ifthenelse{\value{nenc}>1}{%
\renewcommand{\Tencadrant}{Encadrants}%
}{}%
}



\newlength{\largeurboite}
\newlength{\largeurmax}
\settowidth{\largeurmax}{Professeur \`a l'Universit\'e de la Gu}
\newsavebox{\boite}
\newcommand{\testLbox}[1]{%
           \sbox{\boite}{#1}%
	   \settowidth{\largeurboite}{\usebox{\boite}}%
	   \ifthenelse{\largeurboite<\largeurmax}{\usebox{\boite}}{\parbox{.48\textwidth}{#1}}%
           }

\makeatletter
\renewcommand{\@Encadrant}{%
\begin{tabular}{ c  @{\protect\hspace{0.3cm}} c @{\protect\hspace{0.5cm}}  l }
%
%% auteur
\multicolumn{3}{l}{Pr\'esent\'e(e) par~:}\\
~~~\Autp  & \Autn & \testLbox{\Autq}\\
%% encadrant(s)
\multicolumn{3}{l}{\Tencadrant~:}\\
\Lenc{i}
\whiledo{{\value{y}<\value{nenc}}}{\stepcounter{y}\Lenc{\roman{y}}}%
%direct(eur)(rice)
% ~~~\ADVp  & \ADVn&\ADVq~~(\TDir)\\
\end{tabular}%
}%
\makeatother




%################################################################
%                FIN commandes utilisateurs			#
%################################################################




%################################################################
%		commandes utilisateurs par defaut		#
%################################################################

% Certaines commandes sont obligatoires mais si elles ne sont pa specifiees
% des valeurs par des defauts les remplaceront
%\couriel{votreadress@trucmuche.chose}
%\author{Bidon \textsc{Chose}}
%\author{Bidon}{Chose}{bidon.chose@truc.com}
%\annee{2008-2009}
%\Encadrant{Pr\'enom}{Nom}{Qualit\'e}
%\Encadrant{M$^{\mbox{\small lle}}$ \'Elisabeth}{Fromag\`ere}{Co-Directrice du DRUE} % mettre \usepackage[french]{babel} pour utiliser \up{}
%\Encadrant{M$^{\mbox{\small me}}$ Jill}{Cour}{Professeur \`a l'Universit\'e de la Guadeloupe}
%\title{Page de garde pour le Ter et le memoire}

%################################################################
%		Fin commandes utilisateurs par defaut		#
%################################################################

% la commandes entete est l'entete de la page de garde ou l'on y verra le logo de l'UAG et ou l'on lira UFR le departement et le master




\newcommand{\entete}{%
  \begin{tabular}{c}
    \logoUAG\\\\%
    {\taille{0.7}{2} U.F.R. Sciences Exactes et Naturelles}\\%
    \\%
    {\taille{0.55}{2} D\'epartement de Math\'ematiques et Informatique}\\%
    \\%
    { \taille{0.5}{0.5} MASTER :   MATH\'EMATIQUES    \&  MOD\'ELISATION  (MAMO) }%
  \end{tabular}%
		    }

\makeatletter

  \newcommand{\identification}{%
    {\fontsize{12pt}{14.5pt}\selectfont
		  \parbox{1.3\textwidth}{%
			  \begin{flushright}%
			    \@title% positionnement du titre
			    \vskip .5cm% espace verticale
			    Ann\'ee universitaire : \@annee% positionnement de l'annee
			    \vskip 5pt% espace verticale
			    \@Encadrant% positionnement de l'encadrant
			  \end{flushright}}%
   }%
  }%
\makeatother

%################################################################################
%		Commandes si compilation faite avec PDFLaTeX			#
%################################################################################


% Je teste si la compilation se fait en utilisant PDFLaTeX
%\ifpdf % oui

	\newcommand{\CadreBleu}[1]{#1}

%\else % non

%	\newcommand{\CadreBleu}[1]{%
%		\psframe[fillstyle=gradient,gradangle=45](0,\hbleu)(30.7,-1)%
%		\raisebox{-1.5em}{#1}%
%				      }
%\fi
	\newcommand{\logoUAG}{\includegraphics[scale=.6]{nouveau_logo_uag}}

%################################################################################
%		Fin commandes si compilation faite avec PDFLaTeX		#
%################################################################################


%\definecolor{lightgray}{gray}{0.8}
\definecolor{lightgray}{gray}{0.6}


% Je modifie la commande \maketitle pour qu'elle soit de la forme souhaitee

\renewcommand{\maketitle}{%
{%
\fontsize{12pt}{14.5pt}\selectfont% J'impose une fonte de 12pt avec une distance entre la base de la ligne et la base de la ligne suivante 
	\begin{titlepage}
	% Initialisation des longeurs horizontales%
	% NB: l'affectation des longueurs est locale donc une fois hors de la page de garde toutes les longueurs reprennent 
	% celles imposées par la classe
	% Pour voir a quoi correspondent ces longueurs vous pouvez utiliser l'extension layout puis la commande \layout pour afficher les longeurs
	% caracteristique de votre classe, votre document.
		\setlength{\paperheight}{845pt}%297mm}
		\setlength{\paperwidth}{597pt}%210mm}
		\setlength{\oddsidemargin}{0pt}
		\setlength{\hoffset}{0pt}
		\setlength{\textwidth}{390pt}
	% Initialisation des longeurs verticales%
		\setlength{\headheight}{12pt}
		\setlength{\headsep}{25pt}
		\setlength{\topmargin}{20pt}
		\setlength{\voffset}{0pt}
%
%
		\begin{picture}(510,548)%500,548
	%placement de l'entete (la partie comprenant le logo, le nom de la faculté)
			\put(\entetehpos,\entetevpos){\entete}%
	%placement de la partie identifiant l'auteur, le titre, le prof encadrant
			\put(\hpos,\vpos){\identification}%
	%placement du cadre bleu contenant TER ou Memoire
			\put(\CadreBleuhpos,\CadreBleuvpos){\motcadrebleu}%
		\end{picture}
	\end{titlepage}
}% accolade de \selectfont et pour s'assurer que l'initialisation des longueurs soit bien locale
}%accolade de \renewcommand{\maketitle}

%                           Fin reglage de preambule, de mesures
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%





% Déclaration des options 
%        \usepackage[ter]{PageDeGarde} si c'est un T.E.R.
%        \usepackage[memoire]{PageDeGarde} si c'est un Memoire


% Declaration de l'option ter pour mon extension
	% Option ter affiche Travail d'Enseignement et de Recherche
\DeclareOption{ter}{%
  \def\raiseTER{-0.2ex}
  \def\hbleu{1.7}
  \def\CadreBleuhpos{440}%436
 %
  \newcommand{\motcadrebleu}{%
    \rotatebox{90}{%
     \CadreBleu{%
      \resizebox{\paperheight}{!}{%
        \raisebox{\raiseTER}{%
          \color{lightgray}\hspace*{2pt} \bf {\huge T}ravaux d'{\huge E}tudes et de {\huge R}echerches%
			    }%
				 }%
		  }%
		  }%
		  }%
		    }


% Declaration de l'option ter pour mon extension
	% Option ter affiche Travail d'Enseignement et de Recherche
\DeclareOption{rapport}{%
  \def\raiseTER{-0.2ex}
  \def\hbleu{1.7}
  \def\CadreBleuhpos{435}%436
 %
  \newcommand{\motcadrebleu}{%
    \rotatebox{90}{%
     \CadreBleu{%
      \resizebox{\paperheight}{61pt}{%
        \raisebox{\raiseTER}{%
          \color{lightgray}\hspace*{2pt} \bf {\huge R}apport de {\huge S}tage%
			    }%
				 }%
		  }%
		  }%
		  }%
		    }


\DeclareOption{memoire}{%
  \def\raiseTER{-0.2ex}
  \def\hbleu{1.5}
  \def\CadreBleuhpos{415}%
% astuce: \rule{0pt}{1em} trace un trait verticale de largeur 0pt dc invisible et de longueur 1em ceci me permet d'imposer une hauteur de 1em a mon cadre bleu
  \newcommand{\motcadrebleu}{%
    \rotatebox{90}{%
      \CadreBleu{%
	\resizebox{\paperheight}{84pt}{%
	  \rule{0pt}{1em}% voir astuce plus haut
	    \raisebox{\raiseTER}{
	      \color{lightgray}\hspace*{-2pt}M\'emoire%
				}%
				      }%
		    }% fin commande \CadreBleu
		  }% fin commande \rotatebox
		    }% fin commande \motcadrebleu
		   }% fin option memoire

\ProcessOptions% NE PAS OUBLIER de mettre \ProcessOptions a la fin des declarations des options sinon on a des messages d'erreurs

